在專案管理工具介紹完、程式也準備好了之後,我們就來進入我們的Container吧!
特別選用碼頭工人Docker,因為它最普及,很多團隊在使用,網路上也搜尋的到很多文章,可以很方便上手與學習~但是官方的那些說明,就各位大大自己看吧,連結傳送門
喂~要大家自己看還要我說嗎!雖然Container的概念前幾篇有分享過了,但必須說句真實面,我還是研究了好久好久...為了縮短大家的摸索時間與痛苦指數,在真的操作Docker前,我分享一下針對Docker的一些筆記,供大家參考
是一個依照你描述設定的環境(Dockerfile),也可想像成是Container的快照,本身是唯讀的檔案,如果要啟動一個Image,就是把他放入一個Container中啟動,也可以啟動多個Container都使用同一個Image
附註,一個Image裡不可以超過127層
是一個Instance,可以被啟動、暫停、刪除,把他想像成一個簡易版的Linux,可以用來執行應用程式,且每個容器間彼此都是隔離的,上面說Image是唯讀的,Container是在啟動的時候在最上層建立了一個可以寫入的層
類似GitHub提供一個公開的平台可以讓人放上自己設計的Image,也可以從上拉取別人提供的,現在很多官方都有在DockerHub上上傳自己的Image供大家取用,很方便
主要用來保存容器內的資料,先前有提到Container彼此是互相獨立的,那假設資料庫要升級的時候是不是就會導致資料遺失,或是要特別執行轉檔作業,那使用Volume把資料存在local storage,就可以解決這個問題
這兩個懂的人會覺得完全不搭嘎,怎麼合起來說?但其實一開始在學習時,只覺得都很像,搞不清楚什麼時候用什麼....這邊說明一下
這個主要不是Docker的功能,而是說Docker Container啟動後可以提供的服務,而容器化的該念興起,也伴隨著微服務的熱門,相關更多微服務的分享,會在最後的相關分享中再聊到
圖片來源:Docker 簡單入門
提醒一下,如果是使用Windows的朋友們,要是專業版或是企業版的Windows 10 64bit以上喔!(哭哭...)
參考資料、延伸閱讀:
下集預告:實作分享 - Docker Compose + SpringBoot + Mysql